Program for controlling the movement of group of characters, recorded medium, and game device thereof

ABSTRACT

In a program for controlling group of characters, a recorded medium, and a game device thereof, one can enjoy complex lively movement or fighting of the group by a self-explanatory operation, which is expressed more realistically. The present program provides a program for controlling video games, and controlling the movement of a character group to permit a computer to function to accomplish: a group movement function to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group following function to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display function to display the leader-including group and the friendly agent group on a display device.

FIELD OF THE INVENTION

This invention relates to programs for controlling a group of characters, a recorded medium, and a game device thereof, and more particularly to a program for controlling the group of characters, recorded medium, and game device thereof wherein a player can directly operate the group (troop) of the characters in a 3-dimensional virtual space and wherein the movement and the battle of the group are shown with reality.

BACKGROUND ART

In video games for home usage, there are some programs wherein the player controls, for moving in the 3-dimensional virtual space, both a leader character and an agent group (such as a troop, party, and platoon) comprising agent characters who follow the leader.

Conventionally, there is disclosed a program for controlling the movement of the character group, wherein each character is moved to a target site at a total acceleration in combination of, for each X-Y-Z component in 3-dimensional virtual space, an acceleration to be away from the other characters when the other characters exist in a first range and an acceleration to agree with the moving speed and the direction of the other characters following the leader when the other characters exist in a second range. Thereby, each character can be moved while changing the speed and/or direction based on the moving state of the other characters in the first or second range, which shows realistic movement of each character.

Also, there is disclosed a program for controlling the movement of the character group, wherein a plurality of game characters are moved to disperse from a certain game character or a certain first range when any buttons (first to fourth buttons) on an input device are not pressed to instruct the direction, and the game characters are moved to assemble adjacently to the certain game character or a second range when the first button is pressed. Thereby, in the 3D virtual space, pressing the first button, just a single button, gives instructions for both direction and start for movement at the same time to the game characters moving in the different directions toward the certain game character or the second range after dispersing from the game character or the first range. Operationality for the movement of the plural game characters is improved while reducing the burden on a signal processing section. Also, by setting such that the plural game characters are moved as a group in a direction designated by pressing any one of the second to fourth buttons, the second to fourth buttons can be utilized to instruct the normal direction while moving the group without indicating the group. This improves the operationality of the movement of the group, in addition to the above-mentioned dispersion and the assembly. Further, when the input device includes a cross-like button set in which the first button is allocated to a down button, the second to fourth buttons are allocated to up, left, right buttons respectively, it is easy for the player to understand that the down button is a button to assemble the certain game characters, with the other up, right, and left buttons being utilized to instruct actual normal directions. Because the particular game character represents the player himself, pressing of the down button of the cross-like button set corresponds to the feeling for the assembly to the player in view of the position of the button.

Further, there is disclosed a program for controlling the movement of the character group, wherein the computer functions as: a model data providing means to supply motion data for non-displayed 3D polygon model that operates in the 3D virtual space; a motion ability providing means to provide the character following the top of the 3D polygon model with the motion ability; and a position calculation means to calculate the position of the characters in the 3D virtual space. Thereby, the plural characters forming the group are provided with the motion ability to follow the top of the non-displayed 3D polygon models, which eliminates the need to prepare the motion for each character, simplifying the process. This also serves to express the group of the character in a complex formation, as if a single moving organism.

Moreover, there is disclosed a program for controlling the movement of the character group, wherein a plurality of character groups are controlled to establish battle formations on both friendly and enemy sides and to fight each other, which are displayed in the 3-dimensional virtual space. The battle formation is selected from predetermined groups of battle formations, and the player can operate by means of the cross-shaped button set. The group is divided into a plurality of smaller groups each having a particular formation. As a result, a plurality of characters can establish the battle formation, wherein the player can grasp the situation of the whole group from this battle formation. The player can operate the small group of a particular formation and also a plurality of characters for each small group. Here, when the player is not operating a leader of the platoon by an input device, the battle formation is maintained in a similar aligned state. When the player is operating the platoon leader, the operated platoon shifts its direction based on the operation while the other platoons remains those battle formations. Accordingly, the battle formation of the whole group can be changed by the operation of the player.

Examples of relevant patent documents include JP No. 3163496, JP Laid-Open No. 2002-66131, JP Laid-Open No. 2004-62676 and JP Laid Open No. 2002-143555.

SUMMARY OF THE INVENTION

Conventionally, when controlling the motion of the character group according to the patent documents JP No. 3163496 and JP Laid-Open No. 2004-62676, the group (troop or platoon) is not operated to move by the player but automatically by the computer. It is suitable to enjoy watching the battle, but is not suitable for the enjoyment of being directly involved in the operation and battle of the group, which is inconvenient.

Also, according to the invention disclosed in JP No. 3163496, each character in the group follows the leader while maintaining a distance between each other, but while changing speed and direction. This expresses realistic movement since there is passing of the character and changing of the relative position thereof in the group. Due to the lack of the idea of a barycenter, the characters in the back (rear) of the group may however disperse to a certain extent in some cases, and therefore the whole group is not displayed on the screen. In contrast, the invention according to the patent document JP Laid-Open No. 2004-62676 avoids the large dispersal of the characters and maintains the formation of the group owing to the characters following the top of the whole non-displayed polygon models. However, each character is provided with a fundamental alignment position in the group (i.e., the top of own character to be a target site for movement), so that the position in the group does not change basically, which is not a variable lively or life-like movement.

Further, according to the invention of the patent document JP Laid-Open No. 2002-66131, the group can be operated directly by the cross-like button set. However, this invention succeeds the invention of JP No. 3163496 in which the characters follow the leader, and therefore the operation of the whole group is limited to only, e.g., forward or stop. This is because, due to the lack of the idea of the barycenter, there are the problems of the dispersion of the character while moving and of the non-display of the whole group. It is also difficult to grasp the dispersed characters on the program process in the course of battle, especially in the confusion of a close fight in the final stage, so that external operation of the group is no longer easy.

Moreover, according to the invention of JP Laid-Open No. 2002-143555, a plurality of the platoons maintain those battle formations and move as a whole group without lying off the virtual frame indicating the battle formation upon the movement of the groups (platoons). Unless the player operates to select either one of the platoons, there is only a movement while maintaining the battle formation, which is an awkward movement that is not realistic. Also, there causes a problem that once the battle starts, the characters disperse in the confused close fight and it is difficult to manage them as separated groups. Although there may be an idea to combine the groups after two or more groups are mixed, it is unrealistic that the platoon leader is changed in the course of the battle. Improvement is desired for managaing each group (platoon).

The present invention provides a program to control video games, wherein a computer functions as: a group movement means to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group following means to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display means to display the leader-including group and the friendly agent group on a display device. Also, the present invention provides a program to control video games, wherein a computer functions as: a group movement and combat means to move, to an enemy area to fight, a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group movement means to move the friendly agent group behind the leader-including group toward the enemy group after the leader-including group starts the battle; and a friendly and enemy groups display means to display the leader-including group, the enemy group, and the friendly agent group on a display device.

According to the present invention, the present invention provides the program for controlling the movement of group of characters, a recorded medium, and a game device thereof, which program serves to permit the rear friendly agent group to follow the other front friendly agent group (or the leader including-group) in case the friendly agent group, even if the player is not operating, finds the other front friendly agent group (including the leader-included group that the player is operating), and serves to permit the rear friendly agent group to battle in case the friendly agent group finds the enemy group. Thereby, automatic action is achievable within an appropriate region. For example, in case the leader-including group operated by the player is found, the rear friendly agent group takes actions of following in accordance with the operation and automatically turns aside from behind the enemy group toward the barycenter of the enemy group that is fighting with the leader-including group operated by the player. Accordingly, one can enjoy complex lively movement or fighting of the group by a self-explanatory operation, which is expressed more realistically.

By the player that directly operates the group, the invention achieves the object wherein one can enjoy complex lively movement or fighting of the group by a self-explanatory operation.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described in detail with reference to the drawings.

FIG. 1 is a flowchart of a program for controlling the character group.

FIG. 2 is a flowchart for a sub-routine to process the movement and battle of the group.

FIG. 3 is a flowchart for a sub-routine to process the agent character in FIG. 2.

FIG. 4 is a flowchart for a sub-routine to process a state of the agent character in FIG. 3.

FIG. 5 is a flowchart for a sub-routine to process the barycenter in FIG. 3.

FIG. 6 is a flowchart for a sub-routine to process the platoon in FIG. 2.

FIG. 7 is a flowchart for a sub-routine to process traveling speed of the platoon in FIG. 6.

FIG. 8 is a diagram of the repulsive force effected on the character.

FIG. 9 is a diagram of the relationship between the repulsive force effected on the character and the distance.

FIG. 10 is a diagram of the cohesive force effected on the character.

FIG. 11 is a diagram of the moving force effected on the character.

FIG. 12 is a diagram to indicate the distance between the leader and guard units.

FIG. 13 is a diagram wherein the rear guard unit moves toward the enemy group.

FIG. 14 is a diagram wherein the rear guard unit moves to surround the rear of the enemy group.

FIG. 15 is a block diagram of the game device.

FIG. 16 is a plan view of the input device.

FIG. 17 is a front view of the input device taking along line of an arrow XVII in FIG. 16.

FIG. 18 is a control block diagram of the game device.

DETAILED DESCRIPTION

FIGS. 1-18 illustrate an embodiment of the present invention.

FIG. 15 shows a video game device 2 for home usage (hereinafter referred to as “game device”).

The game device 2 includes a game device main body 4 to which a television monitor 8, with a speaker 6 built therein, and an input device 10 are connected. The game device main body 4 includes a media reading section 14 (see FIG. 18) by which a recorded medium 12, such as CD-ROM and DVD, can be loaded/unloaded. When attaching the recorded media 12 to the media reading section 14, stored game programs or game data are automatically loaded into a memory (RAM) in the main body 4. The television monitor 8 displays, for example, the groups (troops) of the game based on information from the input device 10. By the input device 10, the groups can be moved in the game.

As shown in FIGS. 16 and 17, a main body 16 of the input device 10, as an operational section, includes many buttons such as: a start button 18 to start the game; a square-marked button 20, a triangle-marked button 22, a circle-marked button 24, and an X-marked button 26, which are utilized to, for example, operate game characters and respond to the questionnaire that the game device main body 4 issued; a cross-like direction button set 36 formed by an upward button 28, a rightward button 30, a leftward button 32, and a downward button 34; a select button 38; R1 and R2 buttons 40, 42; L1 and L2 buttons 44, 46; right and left analogue sticks 48, 50; and an analogue mode switch 52. The right analogue stick 48 functions to change rotation of the camera (viewpoint and direction) so as to change the point to observe the group (platoon) on the screen. The left analogue stick 50 is allocated for instructing the direction in which the group should move. The square-marked button 20 is allocated to attacking of the character, such as raising a sword overhead.

Referring to FIG. 18, the main body 4 of the game device includes a CPU block 54 to control the whole system of the device as a computer to execute programs for video games. The CPU block 54 includes: an SCU (System control unit) 56 to control mainly the data transfer between respective sections of the main body 4; a CPU (Central Processing Unit) 58 that operates at high clock speed; a ROM (Read Only Memory) 60 that stores the basic operation of the main body 4 of the game device; a RAM (Random Access Memory) 62 that functions as a working area for the CPU 58 and temporarily stores the game programs recorded by the recorded medium 12 and various data; and an internal bus 64 connecting these elements.

Also, the SCU 56 is connected to an outer bus 66. The outer bus 66 includes: a receiving section 68 that receives an input from the input device 10 and provides the input information to the CPU block 54; the media reading section 14 that reads the game programs recorded on the recorded medium 12 such as CD-ROM, and transfers to the CPU block 54, the media reading section 14 including a sub-CPU (not shown); an image processing section 70, equipped with a CPU for graphics and a VRAM, that performs a light source process based on information from the CPU block 54 to draw in the 3-dimensional field; and a sound processing section 72, equipped with a sub-CPU (not shown), that processes the sound such as background music and battle sound. In addition, the receiving section 68 is connected to the input device 10. The image processing section 70 is connected to the television monitor 8. The sound processing section 72 is connected to the speaker 6 built in the television monitor 8.

Here, according to the program of the embodiment to operate the video game, the CPU block 54, or a computer, functions as: a group movement means to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in the 3-dimensional virtual space based on input information from the left analogue stick 50 of the input device 10; a friendly agent group following means to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display means to display the leader-including group and the friendly agent group on a display device or the television monitor 8.

In moving the leader-including group, particular forces, i.e., repulsive, cohesive, and moving forces, are applied as follows so that the movement of every character is displayed realistically with every certain time (frames): (1) repulsive force to avoid a collision with the other characters (force in a direction of dispersion); (2) cohesive force to effect the agent group toward the barycenter (force to be together); and (3) moving force to move the character in a designated direction selected by the operation section of the input device 10 or by the program.

Here, the certain time (frame) is defined by a unit of time for image process. In the embodiment, the time for one frame corresponds to the time for two vertical retrace interruptions (Vsync), 1/30 sec, which Vsync is recalled on the program at intervals of 1/60 sec (16.6 msec) in accordance with a vertical retrace cycle of the television monitor 8.

In the (1) repulsive force, as shown in FIG. 8, the repulsive force of an agent character A, for example, is produced against the other agent characters within an area of some, e.g., 3-meter radius having the agent character A at the center. This repulsive force is produced separately for each agent character.

In this case, it is assumed that a position of the agent character is designated as “a”, a position of the other agent character is “b”, a limit range to produce the repulsive force (the maximum distance at which the repulsive force is produced and is no longer produced beyond this limit) is “d”, and the extent of the maximum repulsive force is “f”. 1=|a−b| v=(a−b)/1 Repulsive force=v*f*max(d−1,0)/d  [Equation 1] Wherein “v” is a unit vector directing from “a” to “b”, that has only direction; its quantity being 1. The expression “f*max(d−1, 0)/d” is illustrated in FIG. 9. Here the expression “|a−b|” is absolute value of “(a−b)”. The expression “max (d−1, 0)” is intended to choose the larger value of either “(d−1)” or “(0)”. The relationship between the repulsive force and the distance may be changed at a certain ratio as shown in FIG. 9, although it may be changed so that the repulsive force becomes steeply larger with decreases in distance, such as quadratic function.

In the (2) cohesive force, as shown in FIG. 10, the barycenter of the group mentioned herein is the so-called barycenter of particles, which utilizes coordinates wherein coordinates of horizontal components (x and z) of each agent character are added and averaged for each component. The vertical component (y) is set at the ground level. The barycenter does not always agree with a center of simple rectangular or circular outer frame including each agent character. Simply, the barycenter may be set at the center of the simple outer frame. However, it is desirable that, when there is a character apart from the gathering group, the barycenter of the group should be at the gathering portion, so that the original idea of barycenter should be adopted.

It is assumed that the position of the agent character A is designated “a”, the barycenter of the group is “c”, and the magnitude of a maximum cohesive force is “f”. v=(c−a)/|c−a| Cohesive force=v*f  [Equation 2]

In the (3) moving force, as shown in FIG. 11, when the left analogue stick 50 on the input device 10 is tilted in a forward left slanting direction to instruct the direction, the equation is stated as follows, wherein the current velocity of the agent character is designated “v0”, a designated moving velocity is “v1”, the time to require to change from v0 to v1 is “dt”, and a maximum acceleration that can be produced is “acc”. v=(v1−v0)/dt Moving force=v/|v|*min(|v|,acc)  [Equation 3] Wherein “v/|v|” is a unit vector. Expression “V” designates acceleration. Expression “min (|v|, acc)” is intended to limit the acceleration “v” below the maximum acceleration “acc”.

Here, when calculating the equation of motion “F=m*α (wherein “F” is force, “m” is mass, and “α” is acceleration)”, the present embodiment regards the mass “m” as 1 and the force as being equal to acceleration, in the 3-dimensional virtual space of the embodiment.

The forces (1)-(3), i.e., acceleration speed is calculated for each coordinate component (x, y, z) and, by adding these for each coordinate component, the total acceleration speed is calculated. Then by utilizing an equation 4 described below, the latest speed and position of each character are computed and the results are stored in RAM 62. Predetermined are an initial speed before the movement of the characters (i.e., zero), a designated moving speed (the (3) moving force, v1), and the position (coordinate value in an aligned state).

By applying the velocity V0 and the position P0 just before the current total acceleration α is obtained (the immediately preceding frame) to the below equation 4 indicating equation of motion with Euler's formula, the current velocity V1 and position of the agent character are calculated for each component (x, y, and z).

Incidentally, in the equation 4, Δt designates a time ( 1/30 sec) between the previous frame and the current frame, with the previous velocity V0 and position P0 being stored in RAM 62. V1=V0+α/Δt P1=P0+V0*Δt+0.5*α*Δt2  [Equation 4]

Based on the latest position P1 obtained from the above equation 4 for each character, the agent character is drawn on the screen.

Thus, the (1) repulsive force and the (2) cohesive force are counteracting, so that the forces (1)-(3) vary in every frames. Slight sway of the barycenter effects on the (2) cohesive force. This serves to express the group swaying or lively slight movement.

Next, according to the program of the embodiment to operate the video game, the CPU block 54, or the computer, further functions as the leader movement means to move the leader character to the barycenter of the agent group.

That is, the whole of the agent group with the leader at the vanguard is not shown or displayed in some cases. Also, assuming that the leader character is leading to move the agent group, it may be realistic when the leader is commanding at the center of the group with the soldiers guarding around him, instead of commanding at the vanguard.

Therefore, in the inventive embodiment the barycenter is set for the whole of the agent group, and the position and direction of the camera is set automatically so that the barycenter is at the center of the display. The (2) cohesive force is effected so that the position of the leader character is in agreement with the barycenter. Special force (the force that brings the leader toward the barycenter) is effected on the leader character.

Although the initial position of each agent character of the group is preset so that the group establishes, e.g., a rectangular formation, the specific position of the agent character is determined and displayed once the movement begins due to the three forces variably effecting in every frame. Therefore the whole shape of the agent group and the relative position and the sequence of the characters are variable as in the real troops, thereby representing a lively movement.

At this time, the character at the vanguard of the agent group is not the leader and is effected by the force toward the leader at the barycenter of the group (i.e., (2) cohesive force).

In addition to the three forces, the leader character is effected by a force described below in each frame. Total acceleration is computed in addition to the three forces, and the latest speed and position are calculated by using the equation 4 of Euler's formula and then memorized in the RAM.

More particularly, in the force which brings the leader character toward the barycenter of the troop, it is assumed that the position of the agent character (here, the leader) is designated “p”, the current velocity of the agent character is “v0”, the maximum acceleration is “acc”, the position of the barycenter of the platoon is “c”, the traveling velocity to the barycenter of the platoon is “v1”, and the relative speed in gaining access to the barycenter of the platoon (the speed of the agent character viewed from the barycenter of the platoon) is “f(1)”. f(1):v*1/d, when 0≦1<d f(1):v, when d<1  [Equation 5] Here, expression “v” is maximum relative speed, “d” is the distance to start deceleration of the access speed, and “1” is the distance between the agent character and the barycenter of the platoon.

It is assumed that “dt” is a time until the relative speed reaches f(1). v2=v0−v1 1=|c−p| v3=(c−p)/1 v4=((v3*f(1))−v2)/dt Force to bring toward the barycenter of platoon=v4/|v4|*min(|v4|,acc)  [Equation 6]

However, at this stage, the direction of the agent character has not been considered (added) yet; the agent character is handled as a particle having no-direction. This is because, due to the fact that the agent character has a certain direction, the sudden changes of the agent character in the opposite direction may result in non-realistic movement. The changes of the direction must be shown gradually.

For this, the present embodiment provides a particle control having a direction in which a particle control of the agent character with the addition of a direction control so as to change the direction of the agent character in each frame. Regarding this, the well-known method (for example, JP Laid-Open 2004-6267) enables the agent character to rotate to a traveling direction.

Also, according to the program of the embodiment to operate the video game, the CPU block 54, or a computer, functions as: a group movement means to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in the 3-dimensional virtual space based on input information from the input device 10; a friendly agent group following means to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display means to display the leader-including group and the friendly agent group on a display device or the television monitor 8. Here, permitting the friendly agent group of the other agent group to follow the leader-including group is to bring the other friendly agent group to move/stop simultaneously with the leader-including group.

There are two methods to move the leader-including group (military unit): one is to directly operate with the left analogue stick 50; and the other is to automatically move to a target point.

As shown in FIG. 12, the first method can be applied to only the leader-including group operable by the player (hereinafter referred to as “leader military unit”). The second method is applied to the military units other than the leader unit.

Referring to FIG. 12, the leader-including group is managed as “leader unit” and other friendly agent group as “guard unit”. The guard unit moves to the barycenter of the leader unit as a target. On this account, simultaneously with the movement of the leader unit, the guard unit starts to move toward the barycenter of the leader unit. When the leader unit stops, the guard unit also stops due to stationary position of the target. The guard unit may tightly contact and overlap with the leader unit if the guard unit is allowed to move to reach the target, so that the guard unit should be stopped at a certain distance from the leader unit.

More particularly, the guard unit does not further approach the leader unit when the barycenter of the leader unit is within 20 meters if the guard unit is a “direct attack unit” and within 30 meters for a “long range attack unit”. After the leader unit resumes moving, the guard unit also resumes moving toward the leader unit when the distance to the leader unit is more than 20-30 meters.

Next, the recorded medium 12 has the recorded program that permits the game device 2 to function as the group movement means, the friendly agent group following means, and the group display means.

The game device 2 to control video games of the embodiment includes: a group movement means to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group following means to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display means to display the leader-including group and the friendly agent group on a display device or the television monitor 8.

Also, the program of the embodiment to control video games permit a CPU block 54 or a computer to function as: a group movement and combat means to move, to an enemy area to fight, a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group movement means to move the friendly agent group behind the leader-including group toward the enemy group after the leader-including group starts the battle; and a friendly and enemy groups display means to display the leader-including group, the enemy group, and the friendly agent group on a display device or the television monitor 8.

For example, with regard to the action of the rear guard unit when the operable leader unit starts to fight, the unit includes data for “target for attack” in addition to “target for moving”. When the enemy group is found within a certain range of the leader unit (view range: for example a segment of front 30 degrees and 30 meters radius, or circle of 40 meters radius), or when the leader unit starts to fight, the enemy group is recognized as a “target for attack”. Basically, action to attack the “target for attack” precedes the action to move toward “target for moving”.

As shown in FIG. 13, when the leader unit starts to fight and if the rear guard unit is the long distance attacking unit, the unit begins to attack the “target for attack” (in most cases the target is the enemy against which the leader unit is fighting). If the rear guard unit is the direct attack unit, the unit approaches until the range for attacking (i.e., until the unit is close to the enemy group). At this time, the action to move toward the “target for attack” precedes a “process to avoid further approaching the leader unit”.

Also, the program of the embodiment to control video games permits a CPU block 54 or a computer to function as: a friendly agent group move-round means to move the other friendly agent behind the leader-including group to turn aside from right or left side of the leader-including group so as to avoid overlapping with the leader-including group, after starting of the battle of the leader-including group.

If the rear guard unit will overlap with the friendly leader until reaching the “target for attack”, the rear guard unit takes action to move and turn aside from either the left or right side so as to avoid disturbing them. More particularly, as shown in FIG. 14, when there is the friendly leader unit within the segment of front 30 degrees and 30 meters radius with respect to the guard unit, the rear guard unit firstly moves in the 90 degrees right (or left) direction and goes straight and moves to turn to the rear of the enemy group (unit). It is noted that the the rear guard unit moves to turn aside similarly, when there is another guard unit before the rear guard unit.

Also, the program of the embodiment to control video games permits a CPU block 54 or a computer to function as: a friendly agent group barycenter movement means to automatically move the friendly agent group other than the leader-including group to the barycenter of the enemy group when the friendly agent group other than the leader-including group goes beyond a virtual border line behind the enemy group that is set behind the enemy group after starting of the battle of the leader-including group.

At this time, as shown in FIG. 14, the virtual border line may be provided at the back of the enemy unit, and the guard unit may automatically turn to the barycenter of the enemy unit after the guard unit goes beyond the virtual border line. Incidentally, movement of the guard unit is done automatically. This is done based on prepared values that are memorized in RAM 62 in advance by the program, which values correspond to the situation where the leader unit operable by the player was moved by the input from the left analogue stick 50. Alternatively the automatic movement of the guard unit is done while reading values calculated from relations with the distance to the front leader unit, similarly with the process for the leader unit. (These values are ones to achieve so that, for example, the unit moves sidewardly for some 5 meters from side of the front leader unit or enemy unit, and moves forward, and then turns to the barycenter of the enemy group after the unit goes beyond the virtual border line provided behind the enemy unit.) In this case, this movement is processed as the (3) moving force.

Smooth moving-around can be expressed while rotating the agent character in accordance with the traveling direction by a more specified equation for moving-around beyond the border line by the equations 5 and 6 of “the force to bring the leader character toward the barycenter of the platoon” (the force is calculated to bring each agent character of the platoon to the barycenter of the enemy platoon for the moving-around), and the equation 4 of Euler's formula, and the well-known method (for example, JP Laid-Open 2004-6267). In addition, on a unit (group) base instead of by an agent base, it may be allowable that the equations 5 and 6 are applied for “the force to bring the platoon toward the barycenter of the enemy platoon for moving-around” and the resultant force can be effected uniformly on each agent character of the platoon.

The recorded medium 12 has the recorded program that permits the game device 2 to function as, in addition to above-mentioned means, the group movement and combat means, the friendly agent group movement means, the friendly and enemy groups display means, the friendly agent group move-around means, and the friendly agent group barycenter movement means.

The game device 2 to control video games of the embodiment includes: a group movement and combat means to move and fight a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group movement means to move the friendly agent group behind the leader-including group toward the enemy group after the leader-including group starts the battle; a friendly agent group move-around means to move the other friendly agent behind the leader-including group to turn aside from the right or left side of the leader-including group so as to avoid overlapping with the leader-including group, after starting of the battle of the leader-including group; a friendly agent group barycenter movement means to automatically move the friendly agent group other than the leader-including group to the barycenter of the enemy group when that friendly agent group other than the leader-including group goes beyond a virtual border line behind the enemy group that is set behind the enemy group after starting of the battle of the leader-including group; and a friendly and enemy groups display means to display the leader-including group, the enemy group, and the friendly agent group on a display device or the television monitor 8.

Operation of the game device 2 of the embodiment is explained with reference to the flowcharts of FIGS. 1-7 as to a battle with the enemy group being commanded by the computer (the CPU block 54) after movement of the group of the player (friendly group; leader-included group).

The game program and the game data recorded on the medium 12 have been already installed into the RAM 62 of the CPU block 54 of the main body 4 of the game device, having an initial setting already done. For the sake of simplicity, operation of the group of the player is mainly explained, and explanation of the group of the computer, to which is applied the similar process, is omitted.

Now referring to FIG. 1 which shows a flowchart, a program starts in step 102, followed by an initial setting in step 104. In the initial setting in step 104, coordinates of each platoon, in a move/halt state, are set. For all of the agent characters, the various data are loaded such as the velocity and acceleration set at zero, in a northern direction (for example), in the move/halt state, and those polygon data. The move/halt state is a state wherein either the character is moving or staying.

After the initial setting, a determination is made in step 106 as to whether an interruption is caused. In this embodiment, a time interval for this is set at a time for one frame that corresponds to two interruptions of Vsync as described above.

If the determination in step 106 is “NO”, a main process is executed in step 108.

In this step 108, for example, information for the tilting operation by the left analogue stick 50 that is received and transferred by the input receiving section 68, is temporarily stored and updated in the RAM 62. In this step 108, other processes are also executed, such as the process as to pressing of other buttons or the sound process to permit the sound processing section 72 to synthesize for a game sound effect.

If the determination in step 106 is “YES”, then a sub-routine is executed in step 110 for the group movement and battle process.

After the main process in step 108 or the sub-routine for the group movement and battle process in step 110, a determination is made in step 112 as to whether a finish button of the input device 10 is pressed. If this determination in step 112 is “NO”, the program returns to step 106. If the determination in step 112 is “YES”, the program ends in step 114.

The sub-routine for the group movement and battle process in step 110 in FIG. 1 is illustrated by a flowchart in FIG. 2. One platoon-state variable is prepared for each platoon, and one agent-state variable is prepared for each agent character in the RAM 62.

As shown in the flowchart in FIG. 2, a program starts in step 202. At first, a determination is made in step 204 as to whether the process finished for all of the platoons.

If the determination in step 204 is “NO”, a sub-routine for the agent is executed in step 206. Then a sub-routine for the platoon is executed in step 208 and then the program reverts to step 204.

If the determination in step 204 is “YES”, a process for full-screen display is executed in step 210 for the character which is able to display within the screen frame. Then the program returns in step 212.

The sub-routine for the agent character in step 206 of FIG. 2 is illustrated by a flowchart shown in FIG. 3. A program starts in step 302, followed by a determination in step 304 as to whether the process is finished for all the agent characters.

If the determination in step 304 is “NO”, then a sub-routine to process for a state of the agent character is executed in step 306. Then the (1) repulsive force is calculated in step 308, and the (2) cohesive force is calculated in step 310. In step 312, a determination is made as to whether the agent character is fighting or not.

If the determination in step 312 is “NO”, then another determination is made in step 314 as to whether the player is operating or instructing the platoon. If this determination in step 314 is “YES”, then a moving speed for the agent character is set based on a value of the tilt of the left analogue stick 50 in step 316.

If the determination in step 314 is “NO”, then the traveling speed for the agent character is set based on the traveling speed of the platoon in step 318.

After the traveling speed of the agent character is set in step 316 or 318, the (3) moving force is computed in step 320.

After the calculation of the moving force in step 320, a sub-routine for the barycenter process is executed in step 322. Then the total acceleration speed is calculated in step 324, and the latest speed and position of each character are computed and stored in RAM in step 326, and orientation of the character body is performed in step 328. The program then returns to step 304.

If the determination in step 312 is “YES”, that is the agent character is fighting, then a process for the battle of the agent character is executed in step 330. Here, various process are executed, such as a process to start fighting of only the agent character in the battle when the square-marked button 20 is depressed, a process to deal with the damage of the enemy character or the damage of the agent character given by the enemy character, and a process for defense. Then the total acceleration speed is calculated in step 324.

If the determination in step 304 is “YES”, the program returns in step 332.

As to the sub-routine for the process of the state of agent character in step 306 of FIG. 3, a variable of the state of the agent is changed as shown in FIG. 4.

As shown in the flowchart in FIG. 4, a program starts in step 402. Firstly, the agent character searches for the other agent characters front and nearest to him in step 404. A determination is made in step 406 as to whether the enemy group (enemy agent character) is found.

If the determination in step 406 is “NO”, then another determination is made in step 408 as to whether the friendly agent group is found.

If the determination in step 408 is “YES”, then further determination is made in step 410 as to whether the platoon of the agent character is in the battle or not.

If this determination in step 410 is “YES”, the agent character is set to the state for standing by for help in step 412.

If the determination in step 408 is “NO” or the determination in step 410 is “NO”, then the agent character is set to the move/halt state in step 414 since there are no agent characters before him.

If the determination in step 406 is “YES”, then the agent character is set to a battle state in step 416.

After the processes in the steps 412, 414, and 416, the program returns in step 418.

As shown in the flowchart in FIG. 5, a program starts in step 502 as to the process for the barycenter in step 322 in FIG. 3. A determination is made in step 504 as to whether the character to be processed is the leader character.

If the determination in step 504 is “YES”, then a force to bring toward the barycenter of the friendly platoon (friendly agent group) is calculated in step 506. This force is obtained from the equation 5 and equation 6, and is different from the (2) cohesive force.

If the determination in step 504 is “NO”, then another determination is made in step 508 as to whether the position of the agent character is beyond the virtual border.

If this determination in step 508 is “YES”, then a force to bring toward the barycenter of the enemy platoon (enemy group) is calculated in step 510. This force is also calculated by utilizing the equations 5 and 6.

The program returns in step 512 after the calculation of the force to bring toward the barycenter of the friendly platoon in step 506, or the calculation to bring toward the barycenter of the enemy platoon (enemy agent group) in step 510, or if the determination in step 508 is “NO”.

The sub-routine for the platoon in step 208 of FIG. 2 includes a modification of the platoon state value as shown in a flowchart of FIG. 6.

As shown in the flowchart in FIG. 6, a program starts in step 602. Firstly, the coordinates of the barycenter of the friendly platoon are calculated in step 604. A determination is made in step 606 as to whether all the agent charters are in a non-balttle state.

If the determination in step 606 is “NO”, then another determination is made in step 608 as to whether the agent character is fighting. If this determination in step 608 is “NO”, then the program returns to step 606.

If the determination in step 608 is “YES”, then the platoon is shifted to the battle state in step 610 and the virtual borderline for the moving-round is set in step 612.

If the determination in step 606 is “YES”, then the platoon is shifted to the move/halt state in step 614. Here, this move/halt state occurs when there are no fighting agent characters.

After the setting of the virtual border for moving-round in step 612 or the platoon is shifted to the move/halt state in step 614, a sub-routine for the platoon traveling speed process is executed in step 616, and the program returns in step 618.

In the flowchart in FIG. 6, when any one of the agent characters are fighting, the state variable of the platoon to which the agent character belongs is shifted to the battle state, and then the border for moving-round to surround the enemy platoon (enemy group) is set and restored. If there are no fighting agent characters, the state variable of the platoon is changed to the move/halt state.

As to the sub-routine for the platoon traveling speed process in step 606 in FIG. 6, a program starts in step 702 as shown in a flowchart of FIG. 7. Firstly, the process to search for the other enemy platoon front and nearest to the friendly platoon (friendly agent group) is executed in step 704. A determination is made in step 706 as to whether the enemy platoon is found.

If the determination in step 706 is “NO”, then another determination is made in step 708 as to whether the friendly platoon is found.

If this determination in step 708 is “YES”, then further determination is made in step 710 as to whether this friendly platoon is fighting or not.

If this determination in step 710 is “YES”, then another determination is made in step 712 as to whether the enemy platoon goes beyond the virtual border line.

If this determination in step 712 is “YES”, then a traveling speed to move toward the barycenter of the enemy platoon is set in step 714 (for the moving-round).

If the determination in step 706 is “YES”, then the traveling speed and direction to gain access to the enemy platoon are set in step 716.

If the determination in step 708 is “NO”, then the traveling speed and direction for deceleration and stoppage are set in step 718.

If the determination in step 710 is “NO”, then the traveling speed and direction to follow the friendly platoon are set in step 720.

If the determination in step 712 is “NO”, then the traveling speed and direction toward the vicinity of the enemy platoon are set in step 722. The vicinity of the enemy platoon is, for example, at 5 meter on the borderline from the agent character at the right end of the enemy platoon.

The program returns in step 724 after the processes in steps 714-722.

As a result, according to the program for controlling the movement of the group of characters, recorded medium, and game device thereof of the embodiment, the program serves to permit the rear friendly agent group to follow the other front friendly agent group (or the leader including-group) in case the friendly agent group, even if the player is not operating, finds the other front friendly agent group (including the leader-included group that the player is operating), and to permit the rear friendly agent group to battle in case the friendly agent group finds the enemy group. Thereby, automatic action is achievable within an appropriate region. For example, in case the leader-including group operated by the player is found, the rear friendly agent group takes actions of following in accordance with the operation and automatically turns aside from behind the enemy group toward the barycenter of the enemy group that is fighting with the leader-including group operated by the player. This serves to show the whole group without substantially disturbing the formation of the group and to appropriately express the character's behavior such as passing or changing position of the character in the group. Accordingly, one can enjoy complex lively movement or fighting of the group having the leader in the middle by a self-explanatory operation, which is expressed more realistically.

Since the input device 10 is not a button operation but an analogue stick operation, complex operation can be achieved by the left analogue stick 50. For example, the whole group moves straight in the direction designated by the left analogue stick 50 but starts to rotate to a large extent when the stick 50 is tilted in the opposite direction without releasing the player's finger as in the button operation.

Further, the friendly agent group (e.g. group of rear foot solders) other than the operated group (e.g. group of horse solders) can follow (move and stop simultaneously) to keep the distance uniformly between the barycenters.

It is noted that in the present invention, the player can select automatically operating friendly platoons from a selection list displayed on the screen. Thereby, the selected friendly platoon may be allowed to follow the platoon that the player is operating.

The leader character may be positioned behind the agent group.

The direct operation of the group by the player also can be applied to the other game device.

Although particular preferred embodiments of the invention have been disclosed in detail for illustrative purposes, it will be recognized that variations or modifications of the disclosed apparatus, including the rearrangement of parts, lie within the scope of the present invention. 

1. A program for controlling video games, controlling the movement of a character group to permit a computer to function as: a group movement means to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group following means to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display means to display the leader-including group and the friendly agent group on a display device.
 2. A recorded medium on which the programs as defined in claim 1 are recorded and from which the computer can read.
 3. A game device to operate the video game, comprising: a group movement means to move a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group following means to permit the friendly agent groups other than the leader-including group to follow the moving leader-including group; and a group display means to display the leader-including group and the friendly agent group on a display device.
 4. A program for controlling video games, controlling the movement of a character group to permit a computer to function as: a group movement and combat means to move, to an enemy area to fight, a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group movement means to move the friendly agent group behind the leader-including group toward the enemy group after the leader-including group starts the battle; and a friendly and enemy groups display means to display the leader-including group, the enemy group, and the friendly agent group on a display device.
 5. The program for controlling the movement of a character group as defined in claim 4 to permit the computer to further function as a friendly agent group move-round means to move the other friendly agent behind the leader-including group to turn aside from right or left side of the leader-including group so as to avoid overlapping with the leader-including group, after starting of the battle of the leader-including group.
 6. The program for controlling the movement of a character group as defined in claim 4 to permit the computer to further function as a friendly agent group barycenter movement means to automatically move the friendly agent group other than the leader-including group to the barycenter of the enemy group when the friendly agent group other than the leader-including group goes beyond a virtual border line behind the enemy group that is set behind the enemy group after starting of the battle of the leader-including group.
 7. A recorded medium on which the programs as defined in claims 4 are recorded and from which the computer can read.
 8. A game device to operate the video game, comprising: a group movement and combat means to move, to an enemy area to fight, a leader-including group of which a leader character is added to an agent group comprising a plurality of agent characters in a 3-dimensional virtual space based on input information from an input device; a friendly agent group movement means to move the friendly agent group behind the leader-including group toward the enemy group after the leader-including group starts the battle; a friendly agent group move-round means to move the other friendly agent behind the leader-including group to turn aside from right or left side of the leader-including group so as to avoid overlapping with the leader-including group, after starting of the battle of the leader-including group; a friendly agent group barycenter movement means to automatically move the friendly agent group other than the leader-including group to the barycenter of the enemy group when the friendly agent group other than the leader-including group goes beyond a virtual border line behind the enemy group that is set behind the enemy group after starting of the battle of the leader-including group; and a friendly and enemy groups display means to display the leader-including group, the enemy group, and the friendly agent group on a display device. 